package s2elinshu;

public class J11Exception {
	public static void main(String[] args) {
		
		// 예외처리
		System.out.println("이 글 보임? ver.1");
		try {
			System.out.println(100 / 0);
		} catch (ArithmeticException ae) {
			// ae.printStackTrace();
			System.out.println("0으로 나누면 안돼요!");
		}
		System.out.println("이 글 보임? ver.2");

		int i[] = new int[10];
		for (int j = 1; j <= 10; ++j) {
			try {
				System.out.println(i[j]);
			} catch (ArrayIndexOutOfBoundsException aioobe) {
				aioobe.printStackTrace();
				System.out.println("배열인덱스초과!");
			}
		}
		
 
		// 다중 catch문 사용
		try {
			System.out.println(100 / 0);
			System.out.println(i[100]);
		} catch (ArithmeticException ae) {
			System.out.println("0으로 나누니 오류가나지");
		}
		catch (ArrayIndexOutOfBoundsException aiob) {
			System.out.println("배열인덱스초과!");
		}
		
		
		// 모든 예외의 조상 = exception
		try{
			System.out.println("시작");
			System.out.println(100/0);
			System.out.println(i[500]);
			System.out.println("끝");
		} catch(Exception ex){
			ex.printStackTrace();  // 오류 상세정보 출력
			System.out.println("치명적인 오류 발생");
		}

		
		
		
		/*
		 * System.out.println("a"); System.out.println(100/0);
		 * System.out.println("b");
		 * 
		 * int i[]= new int[10]; for(int j=1;j<=10;++j){
		 * System.out.println(i[j]); }
		 */
	} // main
}// class
